Skip to content

Replace hosted_app_home build mode with copy_files mode#6868

Open
alfonso-noriega wants to merge 1 commit into02-wire-build-config-into-extension-specsfrom
03-hosted-static-app-build-pipeline
Open

Replace hosted_app_home build mode with copy_files mode#6868
alfonso-noriega wants to merge 1 commit into02-wire-build-config-into-extension-specsfrom
03-hosted-static-app-build-pipeline

Conversation

@alfonso-noriega
Copy link
Contributor

@alfonso-noriega alfonso-noriega commented Feb 19, 2026

WHY are these changes introduced?

Fixes https://github.com/shop/issues-admin-extensibility/issues/2240

WHAT is this pull request doing?

How to test your changes?

Post-release steps

Measuring impact

How do we know this change was effective? Please choose one:

  • n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
  • Existing analytics will cater for this addition
  • PR includes analytics changes to measure impact

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes

Copy link
Contributor Author

alfonso-noriega commented Feb 19, 2026

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@alfonso-noriega alfonso-noriega changed the title Abstract build steps to externalize the build configuration Replace hosted_app_home build mode with copy_files mode Feb 19, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 19, 2026

Coverage report

St.
Category Percentage Covered / Total
🟡 Statements 78.92% 14626/18533
🟡 Branches 73.18% 7270/9935
🟡 Functions 79.13% 3711/4690
🟡 Lines 79.27% 13831/17448

Test suite run success

3850 tests passing in 1491 suites.

Report generated by 🧪jest coverage report action from f042eff

@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch from 98aebcd to 802c958 Compare February 19, 2026 13:05
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from 1c5c718 to 3ac919f Compare February 19, 2026 13:05
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch from 802c958 to b311dcc Compare February 19, 2026 13:05
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch 2 times, most recently from 2b6f7ba to 68c2a9f Compare February 19, 2026 13:20
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch 2 times, most recently from db26c65 to ec9b8bf Compare February 19, 2026 13:27
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from 68c2a9f to 8096aa6 Compare February 19, 2026 13:27
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch from ec9b8bf to 973438a Compare February 19, 2026 13:36
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch 2 times, most recently from f6ae0a0 to 1b503e0 Compare February 19, 2026 13:53
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch 2 times, most recently from 71f4c4d to c12d17e Compare February 19, 2026 14:20
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from 1b503e0 to 01cfc8b Compare February 19, 2026 14:20
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch 2 times, most recently from da8c9c5 to c168755 Compare February 19, 2026 14:33
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch 2 times, most recently from 048e70a to c25acc0 Compare February 19, 2026 15:31
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch from c168755 to 146db7f Compare February 19, 2026 15:31
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch from 146db7f to e56e3c3 Compare February 20, 2026 10:38
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from c25acc0 to 7e39fc5 Compare February 20, 2026 10:38
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch from e56e3c3 to ed19082 Compare February 20, 2026 10:46
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch 2 times, most recently from 0b9bfe1 to 33feefb Compare February 20, 2026 12:29
interface BuildConfig {
mode: 'ui' | 'theme' | 'function' | 'tax_calculation' | 'copy_files' | 'none'
steps: ReadonlyArray<BuildStep>
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BuildConfig is now a breaking change: mode: 'none' requires steps

Previously BuildConfig was a union where {mode: 'none'} did not include steps. This PR changes it to an interface with mandatory steps for all modes, including none. Existing specs or runtime payloads that omit steps for none will fail type-checking or force dummy steps: [] everywhere.

Evidence: helper defaults updated to {mode: 'none', steps: []} only fixes callers using helpers; other constructors/deserializers remain broken.

Impact: TS compile failures and downstream breakage; may block builds/releases; affects any extension spec using {mode:'none'} without steps.

@binks-code-reviewer
Copy link

binks-code-reviewer bot commented Feb 27, 2026

🤖 Code Review · #projects-dev-ai for questions
React with 👍/👎 or reply — all feedback helps improve the agent.

Complete - No issues

📋 History

✅ 1 findings → ✅ 1 findings → ✅ No issues

@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch from f042eff to fc9bd7b Compare March 4, 2026 13:13
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from 61f4d35 to 8b922b5 Compare March 4, 2026 13:13
},
},
],
},

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New copy_files mode is not part of BuildConfig union

This spec now sets buildConfig.mode: 'copy_files' with steps, but BuildConfig (in specification.ts) does not include 'copy_files' nor a steps field anywhere. This is a hard incompatibility: either TypeScript should fail, or if it’s being coerced, the build pipeline likely won’t know how to execute this mode and may ignore it or crash when it expects lifecycles. That can lead to static assets not being copied in dev/deploy, breaking Hosted App Home behavior for all users of that extension type.

@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch from fc9bd7b to 7e042f5 Compare March 4, 2026 15:14
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch 2 times, most recently from 38a9028 to a5303fd Compare March 4, 2026 16:01
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch 2 times, most recently from 5d3d410 to 17e1126 Compare March 4, 2026 16:12
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from a5303fd to 0945d47 Compare March 4, 2026 16:12
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch from 17e1126 to df02d70 Compare March 4, 2026 16:16
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch 2 times, most recently from c468483 to 067c371 Compare March 4, 2026 16:22
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch from df02d70 to 3f8f751 Compare March 4, 2026 16:22
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from 067c371 to be84850 Compare March 4, 2026 16:32
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch from 3f8f751 to 00a05af Compare March 4, 2026 16:32
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from be84850 to dd1d204 Compare March 4, 2026 16:38
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch 2 times, most recently from d46f3ad to 71b56c8 Compare March 4, 2026 17:02
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch 2 times, most recently from 6e25f7a to c8f1092 Compare March 4, 2026 17:16
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch from 71b56c8 to 8d09cab Compare March 4, 2026 17:16
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from c8f1092 to 785afb4 Compare March 4, 2026 17:28
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch 2 times, most recently from 7b2f1e7 to f038316 Compare March 4, 2026 17:33
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from 785afb4 to a7efd5b Compare March 4, 2026 17:33
@alfonso-noriega alfonso-noriega force-pushed the 02-wire-build-config-into-extension-specs branch from a7efd5b to e90a1b3 Compare March 4, 2026 17:43
@alfonso-noriega alfonso-noriega force-pushed the 03-hosted-static-app-build-pipeline branch from f038316 to 33cbfea Compare March 4, 2026 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant